package tum0r.webengine.annotations

import tum0r.webengine.enums.ERequestMethod
import java.lang.annotation.Inherited

/**
 * 说明: HTTP请求接口注解，可注解在类或方法上，mapping不允许重复
 * 注解在类上时，不赋值mapping则默认为 /ApplicationConfig.SERVER_NAME/类路径（例如/WebEngine/tum0r/test/TestServer）
 * 注解在方法上时，必须同时注解在类上，方法上的此注解信息会覆盖类上注解，此时mapping不赋值则为类上mapping/方法名
 *
 * 创建者: tum0r
 *
 * 时间: 2021/8/22 11:12
 *
 * @param[mapping] 接口所在的映射路径，不允许重复
 * @param[requestMethod] 接口请求方式
 */
@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.CLASS, AnnotationTarget.FUNCTION)
@Inherited
annotation class Server(val mapping: String = "", val requestMethod: ERequestMethod = ERequestMethod.MIXTURE)
